/**
 * Copyright (C) 2025 ROKAE (Beijing) Technology Co., LTD.
 * All Rights Reserved.
 *
 * Information in this file is the intellectual property of Rokae Technology Co., Ltd,
 * And may contains trade secrets that must be stored and viewed confidentially.
 *
 * @file InspireRobotsRLCmd.h
 * @brief 注册 RL 指令
 */

 #pragma once
#include <g3log/g3log.hpp>
#include <unistd.h>
#include "endtool/endtool_api.hpp"
#include "rl_cmd/morden_rl_cmd_api.hpp"

#include "InspireRobotsService.h"

extern InspireRobotsUtil::InspireRobotsAPI api;

namespace inspire_robots_cmd
{
    using namespace xcore_api::rl_cmd;
    using namespace xcore_api::endtool;

    /**
     * @brief 定义指令InspireRobotsSetAngle
     */
    DECLARE_MORDEN_RLCMD_API(InspireRobotsSetAngle);

    /**
     * @brief 定义指令InspireRobotsSetForce
     */
    DECLARE_MORDEN_RLCMD_API(InspireRobotsSetForce);

    /**
     * @brief 定义指令InspireRobotsSetSpeed
     */
    DECLARE_MORDEN_RLCMD_API(InspireRobotsSetSpeed);

    /**
     * @brief 定义指令InspireRobotsGetAngle
     */
    DECLARE_MORDEN_RLCMD_API(InspireRobotsGetAngle);

}

/** 
 * * @brief 注册所有 Inspire Robots 控制指令到系统中
 */
void InspireRobotsCmd();